package com.zhang.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

//统一响应结果
/*
*  code
*  message
*  data
*/
@NoArgsConstructor
@AllArgsConstructor
@Data
public class Result<T> { //声明为泛型，因为data数据类型不一

    Integer code;//业务状态码 0成功 1失败
    String message;//返回的消息提示
    T data;//响应的数据

    //带数据的成功：重载
    public static<E> Result<E> success(E data){
        return new Result<>(0,"操作成功",data);
    }

    //无数据的成功
    public static Result success(){
        return new Result<>(0,"操作成功",null);
    }

    //失败
    public static Result error(String message) {
        return new Result(1, message, null);
    }

}
